---
title: ローカリゼーション
description: 組み込みの翻訳機能を使って、dAppの言語をカスタマイズする
---

# ローカリゼーション

## 組み込みの翻訳機能を使って、dAppの言語をカスタマイズする

デフォルトでは、RainbowKitは英語ユーザーのために`en-US`ロケールをサポートします。

利用可能な場合、RainbowKitはユーザーの[優先言語](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/language)を検出し、適切な翻訳を選択します。開発者は常にデフォルト言語を上書きすることができます。

ユーザーに特定の言語を指定するには、`RainbowKitProvider`内で `locale="zh-CN"`をプロップとして追加するだけです。

```tsx
import { RainbowKitProvider } from '@rainbow-me/rainbowkit';

export const App = () => (
  <RainbowKitProvider locale="zh-CN" {...etc}>
    {/* Your App */}
  </RainbowKitProvider>
);
```

### Next.jsでの使用

RainbowKitのローカリゼーションサポートは、[サブパスルーティング](https://nextjs.org/docs/pages/building-your-application/routing/internationalization#sub-path-routing)との連携でさらに改善されます。

以下の例のようにNext.jsプロジェクトを設定し、ルートにオプションの`/locale/`サブパスを追加して、検索エンジンとユーザーが多言語サポートをさらに発見しやすくします。

```json
// next.config.js
{
  i18n: {
    locales: ['default', 'en', 'zh-CN'],
    defaultLocale: 'default',
  },
}
```

その後、Pagesルーターが提供する `locale` を`RainbowKitProvider`に渡します。

```tsx
import { RainbowKitProvider, Locale } from '@rainbow-me/rainbowkit';

export const App = () => {
  const { locale } = useRouter() as { locale: Locale };
  return (
    <RainbowKitProvider locale={locale} {...etc}>
      {/* Your App */}
    </RainbowKitProvider>
  )
};
```

Pagesルーターの例は[こちら](https://github.com/rainbow-me/rainbowkit/tree/main/examples/with-next)を参照してください。

App Routerはまだi18nをサポートしていません。次の例を参考にして[`next-intl`](https://github.com/amannn/next-intl)ミドルウェアを用いた実装のベストプラクティスを学んでください。[こちら](https://github.com/rainbow-me/rainbowkit/tree/main/examples/with-next-app-i18n)

dAppのコンテンツを翻訳するためには同じ技術を使用することをお勧めします。`i18n-js`や[`next-intl`](https://github.com/amannn/next-intl)のようなローカリゼーションライブラリとCrowdinのような管理ツールはこのプロセスを簡素化します。

### サポートされる言語

以下の `locale` リージョンに完全対応しています:

<Table
  header={[
    '言語', '地域', 'ロケール', '略称'
  ]}
  dataTypes={[
    'string', 'string', 'code', 'code'
  ]}
  data={[
    ['英語', 'アメリカ合衆国 🇺🇸', 'en-US', 'en'],
    ['中文', '中国本土 🇨🇳', 'zh-CN', 'zh-Hans', 'zh'],
    ['繁體中文', '香港 🇭🇰', 'zh-HK'],
    ['繁體中文', '台湾 🇹🇼', 'zh-TW', 'zh-Hant'],
    ['हिंदी', 'インド 🇮🇳', 'hi-IN', 'hi'],
    ['スペイン語', 'ラテンアメリカ 🌎', 'es-419', 'es'],
    ['フランス語', 'フランス 🇫🇷', 'fr-FR', 'fr'],
    ['アラビア語', '中東 🌍', 'ar-AR', 'ar'],
    ['ポルトガル語', 'ブラジル 🇧🇷', 'pt-BR', 'pt'],
    ['ロシア語', 'ロシア 🇷🇺', 'ru-RU', 'ru'],
    ['インドネシア語', 'インドネシア 🇮🇩', 'id-ID', 'id'],
    ['日本語', '日本 🇯🇵', 'ja-JP', 'ja'],
    ['トルコ語', 'トルコ 🇹🇷', 'tr-TR', 'tr'],
    ['韓国語', '韓国 🇰🇷', 'ko-KR', 'ko'],
    ['タイ語', 'タイ 🇹🇭', 'th-TH', 'th'],
    ['ウクライナ語', 'ウクライナ 🇺🇦', 'uk-UA', 'ua'],
    ['ベトナム語', 'ベトナム 🇻🇳', 'vi-VN', 'vi'],
    ['ドイツ語', 'ドイツ 🇩🇪', 'de-DE', 'de'],
    ['マレー語', 'マレーシア 🇲🇾', 'ms-MY', 'ms']
  ]}
/>

追加の言語サポートを希望する場合は、[GitHub Discussion](https://github.com/rainbow-me/rainbowkit/discussions/new?category=ideas)に投稿してください。できるだけ早くサポートできるようにします。
